5a77de35abe658a94fbd68b3ae248e72154000ce,src/main/java/net/imagej/ops/geom/geom2d/DefaultElongation.java,DefaultElongation,compute1,#Polygon#DoubleType#,61
Before Change
@Override
public void compute1(final Polygon input, final DoubleType output) {
output.set(1d - minorAxisFunc.compute1(input).getRealDouble() / majorAxisFunc.compute1(input).getRealDouble());
}
@Override
After Change
@Override
public void compute1(final Polygon input, final DoubleType output) {
final List<? extends RealLocalizable> minBB = minimumBoundingBoxFunc.compute1(input).getVertices();
final RealLocalizable p1 = minBB.get(0);
final RealLocalizable p2 = minBB.get(1);
final RealLocalizable p3 = minBB.get(2);
double width = Math.sqrt(Math.pow(p1.getDoublePosition(0) - p2.getDoublePosition(0), 2)
+ Math.pow(p1.getDoublePosition(1) - p2.getDoublePosition(1), 2));
double length = Math.sqrt(Math.pow(p2.getDoublePosition(0) - p3.getDoublePosition(0), 2)
+ Math.pow(p2.getDoublePosition(1) - p3.getDoublePosition(1), 2));
if (width > length) {
double tmp = width;
width = length;
length = tmp;
}
output.set(1d - (width / length));
}
@Override